FAA 1462 Pareja 10. Práctica 3 REGRESIÓN LOGÍSTICA Y ANÁLISIS ROC

Kevin de la Coba Malam

En este documento se mostrarán los resultados del clasificador Regresión Logística usando diferentes épocas y constantes de aprendizaje. Posteriormente, se hará un analísis ROC de todos los clasificadores implementados. En este análisis se mostrarán puntos sobre el espacio ROC y una curva ROC.

En está practica, se han usado ambos tipos de validaciones, cruzada y simple. En concreto, con la validación cruzada se usan los valores K: 4, 6, 8, 10. Para la validación simple se usán valores para el %: 25, 20, 15, 10.

Modificaciones

Problemas

1. Resultados Regresión Logística (Implementación propia)

A continuación se mostraran tablas en las cuales se realizan tests sobre los conjuntos de datos pima y wdbc. En estos tests la constante de aprendizaje varía entre [0.5-2] (en pasos de 0.5), y el número de épocas varía desde [10-1000] (en pasos de 15 hasta 100, y en pasos de 100 hasta 1000).

1.1 Efecto del número de épocas.

A continuación se mostrarán varias gráficas en las cuales se puede ver la evolución del error con respecto al valor del número de épocas asignado para el entrenamiento.

1.1.1 Pima-Indians-Diabetes Cte. aprendizaje=0.5

1.1.1 Pima-Indians-Diabetes Cte. aprendizaje=1.0

1.1.1 Pima-Indians-Diabetes Cte. aprendizaje=1.5

1.1.1 Pima-Indians-Diabetes Cte. aprendizaje=2.0

En estas primeras gráficas podemos ver que el número de épocas no parece haber disminuido en gran medida el error. Hay ejemplos en los que el error desciende un poco pero rápidamente vuelve a ascender. Esto puede deberse a la aleatoriedad de los pesos iniciales, puede ser que ciertos valores ayuden a encontrar un mínimo en el error y otros valores dificulten esto.

1.1.2 WDBC Cte. aprendizaje=0.5

1.1.2 WDBC Cte. aprendizaje=1.0

1.1.2 WDBC Cte. aprendizaje=1.5

1.1.2 WDBC Cte. aprendizaje=2.0

En este dataest es más notorio que los valores descienden con el número de épocas, aunque sigue habiendo repuntes del error. Esto nos puede dar a entender que las características de los propios datos influyen en el desarrollo del modelo. Sería conveniente pues tener en cuenta estas características.

En lo que concierne a el número de épocas adecuado, podríamos decir que a partir de un valor >400, el modelo que se crea es igual de efectivo. Con esto me refiero a que el error que da un modelo en el que se han usado 400 épocas puede ser el mismo o incluso inferior que uno que ha usado 1000 épocas.

Esto puede deberse a que, en el descenso se encuentra el mínimo. Habiendo encontrado el mínimo no es necesario entrenar más el modelo, lo único que se consigue es moverse alrededor del mínimo.

Pero este número no es universal, como se ha visto con el dataset de Pima 400 no es un valor adecuado.

1.2 Efecto de la Cte. de aprendizaje

Ahora veremos como se desarrolla el error en base al valor que se le da a la constante de aprendizaje. Para esto se usará un determinado número de épocas (donde se da un menor error), de esta forma se vera el impacto de la cte.

1.2.1 Pima-Indians-Diabetes Épocas = 500

A primera vista podemos decir que en general el error desciende mientras aumenta la constante de aprendizaje. Podemos interpretar esto de la siguiente forma: Si estamos en un valle lleno de pequeños montes y queremos saber donde está el mínimo, podemos hacer 2 cosas:

Dependiendo del monte (de los datos) debemos usar uno u otro. La canica tendríamos que usarlo en lugares donde haya varios mínimos y muy parejos, ya que la canica se mueve lentamente mientras busca el mínimo. En cambio, si en estos lugares usamos el balón, es posible nos saltemos un mínimo debido a la velocidad con la que se mueve el balón, es posible que pase por el mínimo absoluto pero se quede en un mínimo local. En cambio, si estamos en un lugar donde los mínimos son amplios y muy distantes, el balón es el sujeto perfecto, ya que gracias a sus rápidos movimientos podemos alcanzar el mínimo en poco tiempo (pocas épocas de entrenamiento).

Al final todo depende del problema, en este caso parece que una constante >=1.5 devuelve un resultado optimo.

1.2.2 WDBC Épocas = 500

En este dataset no parece tan beneficioso el tener una constante de aprendizaje alta. Como se ha mencionado antes, esto puede deberse a la propia estructura del dataset y sus atributos.

1.2.3 Error medio PIMA

En este histograma podemos ver mejor el impacto de la constante de aprendizaje sobre el dataset. A la conclusión que podemos llegar es que el valor de este no es el que más influye en el error, ya que los resultados son muy parejos.

1.2.4 Error medio WDBC

Al igual que en el histograma anterior, los resultados están muy parejos. Podríamos llegar a la conclusión de que una constante de aprendizaje pequeña (en este caso 0.5) tiene un mayor impacto sobre el error.

1.3 CONCLUSIÓN

2. Resultados Regresión Logística (Implementación SKLearn)

De nuevo, se van a mostrar tablas con la tasa de error que cometen los modelos de SKLearn. En estos tests la constante de aprendizaje varía entre [0.5-2] (en pasos de 0.5), y el número de épocas varía desde [10-1000] (en pasos de 15 hasta 100, y en pasos de 100 hasta 1000).

Antes de mostrar los datos responderemos a la siguiente pregunta:

Diferencia entre LogisticRegression y SGDClassifier

Dadas estas definiciones, podemos concluir pues que el SGDClassifier es una técnica que optimiza, mientras que LogisticRegression es un clasificador que busca la máxima entropía.

Antes de continuar, en la página de SKLearn no parece haber un parámetro en el constructor de LogisticRegression que se refiera a una constante de aprendizaje. Por esta razón, los tests con este clasificador no muestran ninguna constante.

Tablas Logistic Regression (sin cte aprendizaje)

Tablas SGBD Regression

2.1 Efecto del número de épocas.

A continuación se mostrarán varias gráficas en las cuales se puede ver la evolución del error con respecto al valor del número de épocas asignado para el entrenamiento.

2.1.1 LogisticRegression Pima-Indians-Diabetes

2.1.2 LogisticRegression WDBC

Lo primero que podemos ver aquí, es el claro descenso que hay al aumentar el número de épocas. Esto refuerza la teoría de que pocas épocas resultan poco beneficiosas. Otra cosa que se puede ver es como hay una época en la cual el error deja de descender drásticamente, no son necesarias más épocas a partir de esa. En el dataset de Pima-Indians-Diabetes este número está alrededor de 400 (en la validación simple) y 200 (en la validación cruzada).

2.1.1.1 SGBD Classifier Pima-Indians-Diabetes Cte. aprendizaje=0.5

2.1.1.2 SGBD Classifier Pima-Indians-Diabetes Cte. aprendizaje=1.0

2.1.1.3 SGBD Classifier Pima-Indians-Diabetes Cte. aprendizaje=1.5

2.1.1.4 SGBD Classifier Pima-Indians-Diabetes Cte. aprendizaje=2.0

2.1.2.1 SGBD Classifier WDBC Cte. aprendizaje=0.5

2.1.2.2 SGBD Classifier WDBC Cte. aprendizaje=1.0

2.1.2.3 SGBD Classifier WDBC Cte. aprendizaje=1.5

2.1.2.4 SGBD Classifier WDBC Cte. aprendizaje=2.0

SGDClassifier presenta unos datos muy parejos al modelo implementado en la práctica. Se repiten fenómenos como en el que el error tiene varios repuntes y no parece haber ningún número de épocas claro donde el error descienda.

2.2 Efecto de la constante de aprendizaje.

Ahora veremos como se desarrolla el error en base al valor que se le da a la constante de aprendizaje. Para esto se usará un determinado número de épocas (donde se da un menor error), de esta forma se vera el impacto de la cte.

Como con LogisticRegression no podemos establecer el aprendizaje unicamente se mostrarán los datos con el clasificador SGD.

2.2.1 SGD Classifier Pima-Indians-Diabetes

En este dataset parece haber una disminución del error a medida que se aumenta la constante de aprendizaje.

2.2.2 SGBD Classifier WDBC

A diferencia del dataset anterior podemos ver que la constante de aprendizaje no es un valor que marque la diferencia, el error en todos los casos es muy parejo. En esta ejecución a dado la casualidad de que el valor 1.0 es el que mejor comportamiento presenta, pero esto no siempre es así.

2.3 Comparación implementación SKLearn e implementación propia

Como LogisticRegression no tiene un parametro de cte. aprendizaje, los datos de este no cambian, pero los de los demás modelos sí.

2.3.1 Pima-Indians-diabetes

Con estas primeras gráficas podemos ver la superioridad de LogisticRegression, el error es inferior en todos y cada uno de los casos, incluso con 10 épocas de entrenamiento tiene menos errores que los otros modelos con [100-1000] épocas.

Podemos ver que el modelo propio y SGDClassifier son muy parejos y presentan un comportamiento muy similar.

2.3.2 WDBC

En este dataset podemos ver que LogisticRegression sigue siendo superior, en todos los casos. También podemos ver que aquí SGDClassifier tiene el peor comportamiento de todos, teniendo varios repuntes y los valores del error más alto.

3. Análisis ROC

A continuación se mostrarán los espacios ROC de cada conjunto de datos

3.1 Pima-Indians-Diabetes

3.2 WDBC

Imagino que debe haber algun error en la implementación del espacio ROC, ya que independientemente de las veces que ejecutase esta función siempre obtenía un resultado similar.

A la única conclusión a la que se puede llegar es que la regresión logística da más falsos positivos que verdaderos positivos.

4. Curva ROC

En este último apartado vamos a mostrar y discutir la curva ROC generada con el clasificador de Regresión Logística.

4.1 Pima-Indians-Diabetes

4.2 WDBC

En cuanto a la curva ROC, también podemos ver que el AUC es muy cercano a 0.5 (o inferior), lo que nos da a entender que el modelo no es el mejor en cuanto a la clasificación de estos datos.